/*
 * @Author: jth2514 1509572300@qq.com
 * @Date: 2024-06-02 16:18:18
 * @LastEditors: jth2514 1509572300@qq.com
 * @LastEditTime: 2024-06-02 16:19:12
 * @FilePath: \undefinedh:\c++\java\MyThread.java
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
 //定义t1类，利用继承的方式实现如下线程输出：线程输出本线程为继承实现，输出为：s1
/*****Begin*****/
class t1 extends Thread{
    /*****End*****/
    String s1;
    public t1(String x1){
    s1=x1;
    }
    public void run(){
        System.out.println("线程输出本线程为继承实现，输出为："+s1);
    }
    }
    
    //定义 t2 类，利用接口的方式实现如下线程输出：输出本线程为接口实现，输出为:s2
    /*****Begin*****/
    class t2 implements Runnable{
    /*****End*****/
    String s2;
    public t2(String x2){
        s2=x2;}
    public void run() {
    /*****Begin*****/
    //输出输出本线程为接口实现，输出为:s2
        System.out.println("线程输出本线程为接口实现，输出为："+s2);
    
    /*****End*****/
    }
    }
    public class MyThread{
           public static void main(String[] args) {
        /*****Begin*****/
        //1、生成t1类的对象my1,其构造方法的参数为计科0422
        t1 my1=new t1("计科0422");
        //2、 生成t2类的对象my2,其构造方法的参数为有趣的线程
        t2 my2=new t2("有趣的线程");
    
        //启动my1线程
        my1.run();
    
        //启动my2线程，线程类的对象名为p2
        my2.s2="p2";
        my2.run();
               
        /*****End*****/
        }
        }